package com.atguigu.paymentdemo.service;

import com.atguigu.paymentdemo.entity.CourseInfo;
import com.atguigu.paymentdemo.vo.CourseInfoVo;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.Serializable;
import java.util.List;


public interface CourseInfoService extends IService<CourseInfo> {

	/**
	 * 不分页查询
	 *
	 * @param courseInfo /
	 * @return /
	 */
	List<CourseInfoVo> list(CourseInfo courseInfo);

	/**
	 * 根据讲师id获得所有课程
	 *
	 * @param teacherId /
	 * @return /
	 */
	List<CourseInfoVo> getByTeacherId(Long teacherId);

	/**
	 * 获得课程详情
	 *
	 * @param id
	 * @return /
	 */
	CourseInfoVo getVoById(Serializable id);

	/**
	 * 上传课程简介图片
	 *
	 * @param file /
	 * @param id   /
	 */
	void addImage(MultipartFile file, Long id) throws IOException;

	/**
	 * 上传课程视频
	 *
	 * @param file /
	 * @param id   /
	 */
	void addVideo(MultipartFile file, Long id) throws IOException;

	/**
	 * 删除OSS文件
	 *
	 * @param fileId   文件记录id
	 */
	void delOssFile(Long fileId);
}
